package com.jn.erp.web.api.course.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jn.erp.web.api.course.entity.TCourseOrder;
import com.jn.erp.web.api.course.entity.dto.StudentOrderListExcal2CDto;
import com.jn.erp.web.api.course.entity.dto.StudentOrderListExcal2SDto;
import com.jn.erp.web.api.course.entity.dto.TCourseOrderDto;
import com.jn.erp.web.api.course.entity.vo.TCourseOrderVo;
import com.jn.erp.web.api.course.entity.dto.StudentOrderListExcalDto;
import com.jn.erp.web.api.interaction.entity.vo.TEvaluateVo;
import com.jn.erp.web.api.student.entity.dto.EnrollmentStuDto;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author wyp
 * @since 2024-09-04
 */
public interface TCourseOrderMapper extends BaseMapper<TCourseOrder> {
    public TCourseOrder lastCourseOrder(@Param("startTime") LocalDateTime startTime,@Param("cofId") Long cofId,@Param("studentId") Long studentId);

    List<TCourseOrderDto> courseOrderList(TCourseOrderVo tCourseOrderVo);

    List<StudentOrderListExcalDto> exportOrderList(TCourseOrderVo tCourseOrderVo);

    TCourseOrderDto getCourseOrderById(TCourseOrderVo tCourseOrderVo);

    List<TCourseOrderDto> orderStudentList(TCourseOrderVo tCourseOrderVo);

    List<TCourseOrderDto> orderListSecond(TCourseOrderVo tCourseOrderVo);

    List<StudentOrderListExcal2CDto> exportOrderListSecondC(TCourseOrderVo tCourseOrderVo);

    List<StudentOrderListExcal2SDto> exportOrderListSecondS(TCourseOrderVo tCourseOrderVo);

    List<TCourseOrderDto> evaluateStudentList(TEvaluateVo tEvaluateVo);

    List<TCourseOrderDto> repairDetail(TCourseOrderVo tCourseOrderVo);

    List<TCourseOrderDto> orderListThird(TCourseOrderVo tCourseOrderVo);

    TCourseOrderDto orderDetailSecond(TCourseOrderVo tCourseOrderVo);

    Map orderCountSecond(TCourseOrderVo tCourseOrderVo);

    int called(@Param("orderNo") String orderNo);

    TCourseOrder selectByStuId(@Param("studentId") long studentId);

    List<TCourseOrderDto> courseOrderLists(TCourseOrderVo tCourseOrderVo);

    String getMaxOrderNo(@Param("date") String date);

    Integer  selectByCount(@Param("student") EnrollmentStuDto student);

    EnrollmentStuDto countMoney(@Param("student") EnrollmentStuDto student);
}
